.city__ds {
    position: absolute;
    left: 0;
    top: 0;
    width: 1280px;
    height: 720px;
}

/****************/
/* common style */
/****************/
.city__ds .percent-1 {
    color: #c0b244 !important;
}

.city__ds .percent-2 {
    color: #e16d32 !important;
}

.city__ds .detail-rm {
    left: 0;
    transition: all .3s;
}

.city__ds .detail-lm {
    left: -1280px;
    transition: all .3s;
}

/*****************/
/* ds home style */
/*****************/
.city__ds-home {
    position: absolute;
    width: 100%;
    height: 100%;
}

/* ds home-head style */
.city__ds-hh {
    position: absolute;
    /*width: 1280px;*/
    margin-left: -10px;
    width: 1300px;
    height: 120px;
    background: rgba(255, 255, 255, .05);
    border-radius: 10px;
    /*border-bottom: 1px solid rgba(255, 255, 255, .1);*/
}

.city__ds-hh .separator {
    width: 1280px;
    left: 10px;
    margin-left: 0;
    bottom: 0;
}

.city__ds-hh .title {
    position: absolute;
    left: 115px;
    top: 60px;
    width: 180px;
    height: 40px;
    line-height: 40px;
    text-align: left;
    font-size: 26px;
    color: #9a9d9e;
    letter-spacing: 2px;
}

.city__ds-hh .filter {
    position: absolute;
    right: 120px;
    top: 55px;
    width: 145px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    font-size: 20px;
    color: #9a9d9e;
    background: rgba(255, 255, 255, .1);
    border-radius: 10px;
}

.city__ds-hh a:focus.filter {
    color: #fff;
    background: #46a7e7;
}

/* ds home-body style */
.city__ds-hb {
    position: absolute;
    top: 120px;
    width: 1280px;
    height: 540px;
}

.city__ds-list {
    position: absolute;
    left: 50%;
    margin-left: -560px;
    width: 1108px;
    height: 100%;
}

.city__ds-list-item {
    position: relative;
    margin-top: -4px;
    width: 1108px;
    height: 107px;
}

.city__ds-list-item > a {
    position: absolute;
    bottom: -3px;
    width: 1098px;
    height: 97px;
    border: 4px solid transparent;
    border-radius: 10px;
}

.city__ds-list-item > a:focus {
    border: solid 4px #46a7e7;
    box-shadow: #46a7e7 0 0 12px 1px;
}

.city__ds-list-item > a:focus > .title {
    color: #f0f0f0;
}

.city__ds-list-item .area,
.city__ds-list-item .title,
.city__ds-list-item .percent {
    position: absolute;
    top: 50%;
    margin-top: -20px;
    width: 90px;
    height: 40px;
    line-height: 40px;
}

.city__ds-list-item .area {
    left: 20px;
    color: #f0f0f0;
    font-size: 20px;
    border-radius: 25px;
    background: rgba(255, 255, 255, .2);
    text-align: center;
}

.city__ds-list-item .title {
    left: 120px;
    width: 800px;
    text-align: left;
    color: #9a9d9e;
    font-size: 26px;
    text-overflow: ellipsis !important;
    overflow: hidden;
    white-space: nowrap;
}

.city__ds-list-item .percent {
    right: 20px;
    width: 180px;
    text-align: right;
    font-size: 33px;
    font-family: din_regularalternate, sans-serif;
    color: #40a03e;
    letter-spacing: 2px;
}

.city__ds-list-item a > .separator {
    bottom: -3px;
}

.city__ds-list-item a:focus > .separator {
    opacity: 0;
}

/* ds home-footer style */
.city__ds-hf {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;
}

/*******************/
/* ds detail style */
/*******************/
.city__ds-detail {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* ds detail-head style */
.city__ds-dh {
    position: absolute;
    margin-left: -10px;
    width: 1300px;
    height: 150px;
    background: rgba(255, 255, 255, .05);
    border-radius: 10px;
}

.city__ds-dh .separator {
    width: 1280px;
    left: 10px;
    margin-left: 0;
    bottom: 0;
}

.city__ds-dh .title,
.city__ds-dh .address {
    position: absolute;
    left: 105px;
    width: 600px;
    text-align: left;
    color: #9a9d9e;
    letter-spacing: 1px;
}

.city__ds-dh .title {
    top: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 2px;
}

.city__ds-dh .address {
    top: 100px;
    height: 35px;
    line-height: 35px;
    font-size: 20px;
}

.city__ds-dh .percent,
.city__ds-dh .notice {
    position: absolute;
    right: 105px;
    width: 160px;
    text-align: right;
    letter-spacing: 1px;
}

.city__ds-dh .percent {
    top: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 33px;
    color: #40a03e;
    font-family: din_regularalternate, sans-serif;
    letter-spacing: 2px;
}

.city__ds-dh .notice {
    top: 100px;
    height: 35px;
    line-height: 35px;
    font-size: 20px;
    color: #9a9d9e;
}

/* ds detail style */
.city__ds-db {
    position: absolute;
    left: 0;
    top: 150px;
    width: 200%;
    height: 570px;
}

.city__ds-db .arrow {
    position: absolute;
    top: 50%;
    margin-top: -28px;
    width: 40px;
    height: 56px;
    background: url(img/arrow_hor.png) center;
}

.city__ds-db .arrow--focus {
    background: url(img/arrow_hor-focus.png) center !important;
}

/* ds detail-body1 style */
.city__ds-db1 {
    position: absolute;
    left: 0;
    top: 0;
    width: 1280px;
    height: 570px;
}

.city__ds-db1 .arrow {
    right: 70px;
}

.city__ds-db1 .top {
    position: absolute;
    width: 100%;
    height: 160px;
}

.city__ds-db1 .notice,
.city__ds-db1 .time {
    position: absolute;
    left: 50%;
    margin-left: -110px;
    width: 220px;
    text-align: center;
    color: #9a9d9e;
}

.city__ds-db1 .notice {
    top: 40px;
    height: 50px;
    line-height: 50px;
    font-size: 26px;
    font-weight: bold;
}

.city__ds-db1 .time {
    top: 90px;
    height: 35px;
    line-height: 35px;
    font-size: 20px;
}

.city__ds-db1 .left,
.city__ds-db1 .right {
    position: absolute;
    top: 160px;
    width: 50%;
    height: 288px;
}

.city__ds-db1 .left .notice {
    position: absolute;
    left: 50%;
    margin-left: -55px;
    top: 50%;
    margin-top: -55px;
    width: 170px;
    height: 120px;
    z-index: 10;
}

.city__ds-db1 .left .mark {
    position: absolute;
    width: 100%;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 40px;
    color: #fff;
    font-family: din_regularalternate, sans-serif;
    letter-spacing: 2px;
}

.city__ds-db1 .left .label {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 24px;
    color: #f0f0f0;
    letter-spacing: 2px;
}

.city__ds-db1 .right {
    right: 0;
}

.city__ds-db1 .right-list {
    /* stb not support flex-wrap */
    position: relative;
    /*display: flex;*/
    /*flex-wrap: wrap;*/
    float: left;
    margin-left: 50px;
    width: 400px;
    height: 288px;
}

.city__ds-db1 .right-list > li {
    position: relative;
    width: 200px;
    height: 144px;
}

.city__ds-db1 .right-list > li {
    position: absolute;
}

.city__ds-db1 .right-list > li:nth-child(1) {
    left: 0;
    top: 0;
}

.city__ds-db1 .right-list > li:nth-child(2) {
    right: 0;
    top: 0;
}

.city__ds-db1 .right-list > li:nth-child(3) {
    left: 0;
    bottom: 0;
}

.city__ds-db1 .right-list > li:nth-child(4) {
    right: 0;
    bottom: 0;
}

.city__ds-db1 .value {
    position: absolute;
    top: 50%;
    margin-top: -50px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 33px;
    color: #f0f0f0;
    font-family: din_regularalternate, sans-serif;
    letter-spacing: 1px;
}

.city__ds-db1 .key {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 20px;
    color: #f0f0f0;
    letter-spacing: 1px;
}

.city__ds-db1 .separator {
    left: 50%;
    margin-left: 0;
    top: 188px;
    width: 1px;
    height: 226px;
}

/* ds detail-body2 style */
.city__ds-db2 {
    position: absolute;
    left: 1280px;
    top: 0;
    width: 1280px;
    height: 570px;
}

.city__ds-db2 .arrow {
    left: 70px;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.city__ds-db2 .title {
    position: absolute;
    left: 50%;
    margin-left: -100px;
    top: 20px;
    width: 200px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    color: #9a9d9e;
    font-size: 26px;
}

.city__ds-db2 .history {
    position: absolute;
    left: 50%;
    margin-left: -533px;
    top: 85px;
    width: 1065px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    border-collapse: collapse;
    text-align: center;
    font-size: 26px;
    color: #9a9d9e;
}

.city__ds-db2 th,
.city__ds-db2 td {
    height: 60px;
    letter-spacing: 1px;
}

.city__ds-db2 th {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.city__ds-db2 td {
    font-family: din_regularalternate, sans-serif;
}

.city__ds-db2 tr > td:nth-child(1),
.city__ds-db2 tr > th:nth-child(1) {
    border-right: 1px solid rgba(255, 255, 255, .1);
}

/*****************/
/* ds mask style */
/*****************/
.city__ds-mask .title {
    position: absolute;
    left: 50%;
    margin-left: -90px;
    top: 135px;
    width: 180px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 26px;
    color: #f0f0f0;
    letter-spacing: 2px;
}

.city__ds-mask .separator {
    margin-left: -265px;
    top: 200px;
    width: 530px;
}

.city__ds-mask .notice {
    position: absolute;
    left: 50%;
    margin-left: -210px;
    top: 495px;
    width: 420px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 20px;
    color: #9a9b9e;
}

.city__ds-mb {
    position: absolute;
    left: 50%;
    margin-left: -265px;
    top: 240px;
    width: 530px;
    height: 250px;
}

.city__ds-mb .area {
    position: absolute;
    left: 0;
    width: 160px;
    height: 100%;
}

.city__ds-mb .area > li {
    width: 150px;
    text-align: center;
    color: #9a9d9e;
}

.city__ds-mb .percent {
    position: absolute;
    right: 0;
    width: 350px;
    height: 100%;
}

.city__ds-mb .percent > li {
    width: 340px;
    text-indent: 20px;
    color: #9a9d9e;
}

.city__ds-mb .level1 {
    transition: opacity, font-size .1s;
    height: 60px;
    line-height: 60px;
    font-size: 26px;
}

.city__ds-mb .level2 {
    transition: opacity, font-size .2s;
    height: 50px;
    line-height: 50px;
    font-size: 22px;
    opacity: .5;
}

.city__ds-mb .level3 {
    transition: opacity, font-size .3s;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    opacity: .3;
}

.city__ds-mb a {
    top: 50px;
    height: 56px;
    border: 2px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    z-index: 10;
}

.city__ds-mb a:focus {
    height: 52px;
    border: solid 4px #46a7e7;
    box-shadow: #46a7e7 0 0 12px 1px;
}

.city__ds-mb #ds-mk1 {
    width: 150px;
}

.city__ds-mb #ds-mk2 {
    right: 0;
    width: 340px;
}